<?php
namespace Admin\Controller;

use Admin\Model\MessageModel;

class MessageController extends AdminController {
    
    public function index() {
        $list = $this->lists('message', null, 'id DESC');
        int_to_string($list, array(
            'type' => array(
                MessageModel::TYPE_SHIPPING => MessageModel::TYPE_SHIPPING_TEXT,
                MessageModel::TYPE_ORDER => MessageModel::TYPE_ORDER_TEXT,
                MessageModel::TYPE_NOTICE => MessageModel::TYPE_NOTICE_TEXT,
                MessageModel::TYPE_TIMING => MessageModel::TYPE_TIMING_TEXT,
                MessageModel::TYPE_EVENT => MessageModel::TYPE_EVENT_TEXT
            )
        ));
        $this->assign('_list',$list);
        $this->meta_title = '消息列表';
        $this->display('list');
    }
    
    public function add() {
        $Message = D('message');
        if (IS_POST) {
            $data = $Message->create();
            $data || $this->error($Message->getError());
            if (empty($data['uid'])) {
                $users = M('member')->where(array('status'=>1))->select();
                foreach ($users as $user) {
                    $data['uid'] = $user['uid'];
                    $data = $Message->create($data);
                    $res = $Message->add();
                    $res !== false || $this->error('未知错误');
                }
                $this->success('新增成功', U('index'));
            } else {
                $res = $Message->add();
                $res !== false ? $this->success('新增成功', U('index')) : $this->error('未知错误');
            }
        }
        $types = array(
            MessageModel::TYPE_ORDER => MessageModel::TYPE_ORDER_TEXT,
            MessageModel::TYPE_NOTICE => MessageModel::TYPE_NOTICE_TEXT,
            MessageModel::TYPE_EVENT => MessageModel::TYPE_EVENT_TEXT
        );
        $this->assign('types', $types);
        $this->meta_title = '新增消息';
        $this->display('add');
    }
    
    public function view() {
        $Message = D('message');
        $id = I('get.id', 0);
        $info = $Message->find($id);
        $types = array(
            MessageModel::TYPE_ORDER => MessageModel::TYPE_ORDER_TEXT,
            MessageModel::TYPE_NOTICE => MessageModel::TYPE_NOTICE_TEXT,
            MessageModel::TYPE_EVENT => MessageModel::TYPE_EVENT_TEXT
        );
        $info['type_text'] = $types[$info['type']];
        $this->assign('info', $info);
        $this->meta_title = '查看消息';
        $this->display('view');
    }
    
    public function del() {
        $id = array_unique((array)I('id',0));
        if (empty($id)) {
            $this->error('请选择要操作的数据!');
        }
        
        $map = array('id' => array('in', $id) );
        if(M('message')->where($map)->delete()){
            $this->success('删除成功');
        } else {
            $this->error('删除失败！');
        }
    }
    
}